The present disclosure relates generally to methods and systems for customizing operating systems, and more specifically, to methods and systems for customizing operating systems installed on virtual machines.
Many computers now may have multiple cores in their computer processing units (“CPU”). Thus, each computer may have processing capability for concurrently executing more than one operating systems. For example, a hypervisor is a computer that concurrently executes multiple sessions of operating systems, such that a plurality of users may log into the computer simultaneously to use respective sessions of operating systems executed on the computer. Each of the operating system sessions is executed independently without interfering with another. For example, a hypervisor may execute different versions of WINDOWS® operating systems at the same time for different users. Each of these sessions of operating systems may be referred to as a virtual machine. Thus, one hardware computer may function as a plurality of virtual machines when the hardware computer executes a plurality of sessions of operations systems.
A virtualization process may be a process of implementing a plurality of virtual machines in one hardware computer. A computer server with sufficient processing and memory capacities may implement hundreds or even thousands of virtual machines. A plurality of users may execute their respective virtual machines on the computer server by accessing the computer server remotely or locally. Thus, virtualization allows one hardware computer to implement a plurality of virtual machines that are utilized by a plurality of users. Each of the plurality of virtual machines runs independently without interfering with another.
Virtualization management tools are provided to implement rapid creation of additional virtual machines. The virtualization management tools may use operating system templates for rapid provisioning of additional virtual machines. An operating system template is a frozen image of a previously configured virtual machine containing a ready-to-boot operating system. The operating system template may be duplicated repeatedly to create a plurality of additional virtual machines, e.g., a plurality of sessions of operating systems. Because each of the additional virtual machines is duplicated from the same operating system template, these additional virtual machines are substantially identical to each other. For example, these duplicated virtual machines have identical names or addresses. Thus, these duplicated virtual machines must be customized before they are used on a network. Consequently, these additional virtual machines are customized to have unique ID, user login, password, or the like, before they are connected to a network of computing devices.